package com.sm.li.service;

import com.sm.li.common.page.PageBean;
import com.sm.li.dto.AdminDTO;
import com.sm.li.entity.Admin;
import com.sm.li.query.AdminQuery;
import com.sm.li.service.base.BaseService;

import java.util.List;

public interface AdminService extends BaseService<Admin> {

    PageBean<AdminDTO> searchPage(AdminQuery adminQuery);

    //账户信息 手机号 邮箱唯一
    boolean hasAdminWithAccountPhoneEmail(Admin admin);

    //添加员工和员工角色
    int addAdminAndRole(Admin admin);

    //查询用户和角色
    AdminDTO getAdminAndRolesByAdmin(Long id);

    //修改员工和角色
    int updateAdminAndRole(Admin admin);

    //删除员工和角色
    int deleteAdminAndRoles(Long id);

    //批量删除员工和角色
    int batchDeleteAdminAndRole(List<Long> ids);

//    //条件查询
//    PageBean<BrandDTO> searchPage(BrandQuery brandQuery);

    Admin getAdminByAccount(String account);

    //查询用户所有的角色
    List<Long> getRolesByAdminId(Long id);
}
